﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using MEsE.NET.Serveripää;

namespace MEsE.NET.ExtMethods
{
    public static class exts
    {
        static Dictionary<sanoma, bool> hyväksymäMerkinnät = new Dictionary<sanoma, bool>();
        public static bool isHyväksytty(this sanoma Sanoma)
        {
            bool tulos = false;

            hyväksymäMerkinnät.TryGetValue(Sanoma, out tulos);

            return tulos;
        }

        public static void setHyväksytty(this sanoma Sanoma, bool hyväksytty)
        {
            hyväksymäMerkinnät[Sanoma] = hyväksytty;
        }

        public static IEnumerable<T> ForEach<T>(this IEnumerable<T> numeroitava, Action<T> task)
        {
            foreach (T num in numeroitava)
                task(num);

            return numeroitava;
        }

        public static IEnumerable ForEach(this IEnumerable numeroitava, Action<object> task)
        {
            foreach (object num in numeroitava)
                task(num);

            return numeroitava;
        }

        /// <summary>
        /// Validoi käyttäjien ekvaliteetti tällä, joka on laajennosmetodi ettei servicerefressi tapa sitä
        /// </summary>
        /// <param name="käyttäjä"></param>
        /// <param name="käyttäjä2"></param>
        /// <returns></returns>
        public static bool equals(this user käyttäjä, user käyttäjä2)
        {
            return käyttäjä.nayttönimi.Equals(käyttäjä2.nayttönimi);
        }
    }
}
